/**
 * @type {String}
 *
 * @properties={typeid:35,uuid:"E0BB0D74-5863-4D3D-8A3E-D600E4DFD857"}
 */
var fMensaje = null;

/**
 * @type {Date}
 *
 * @properties={typeid:35,uuid:"713BE4F8-918A-4055-A1FF-E830C967B7CB",variableType:93}
 */
var fFecha_rechazo = null;

/**
 * @type {Number}
 *
 * @properties={typeid:35,uuid:"F5B8EA17-305E-4E4D-AB9F-843B855CCBDB",variableType:4}
 */
var f_banco_id = null;

/**
 * @type {Number}
 *
 * @properties={typeid:35,uuid:"C5312B90-ECFD-4424-A4E0-4669ECF6BE60",variableType:4}
 */
var f_valor_id = null;

/**
 * @type {String}
 *
 * @properties={typeid:35,uuid:"4946AEC8-7881-462D-B9AE-76F464B36FE7"}
 */
var f_cheque_nro = null;

/**
 * Callback method for when form is shown.
 *
 * @param {Boolean} [firstShow] form is shown first time after load
 * @param {JSEvent} [event] the event that triggered the action
 *
 * @properties={typeid:24,uuid:"37C63566-EFF5-4A2C-9A34-3D88E47B7646"}
 */
function iniciar(firstShow, event) 
{
	f_banco_id 			= null;
	f_valor_id 			= null;
	f_cheque_nro 		= null;
	fFecha_rechazo		= null;
}

/**
 * Perform the element default action.
 *
 * @param {JSEvent} event the event that triggered the action
 *
 * @properties={typeid:24,uuid:"01107F2F-B0E8-40E2-8D2A-AA206495D7D3"}
 * @AllowToRunInFind
 */
function buscar(event) 
{
	fMensaje = null;	
	if (f_cheque_nro == null || f_banco_id == null || f_valor_id == null)
	{
		globals.DIALOGS.showWarningDialog('Aviso','Por favor complete todos los datos','OK')
		return false;
	}	
	
	databaseManager.revertEditedRecords()
	databaseManager.setAutoSave(true);
	var estado_find = controller.find()
	if (estado_find == false)
	{
		globals.DIALOGS.showWarningDialog('Aviso','Fallo el busqueda de Cheques','OK')
		return false;
	}	
	valor_id 	= f_valor_id;
	cheque_nro	= f_cheque_nro;
	banco_id	= f_banco_id;
	//estado=globals.zconf_chq_emitido;  //5 la OP y pagos vs. ponen este estado en el cheque
	
	//BUSCAR CHEQUE
	var found = controller.search()
	if (found == 0)
	{
		globals.DIALOGS.showWarningDialog('Aviso','No se encontro cheque con esas caracteristicas','OK')
		return false;
	}
	else
	{
		if (found != 1)
		{
			globals.DIALOGS.showWarningDialog('Aviso','Hay ' + found + ' cheques con esas caracteristicas','OK')
			return false;
		}
		else
		{
			if(estado != globals.zconf_chq_emitido) //5 la OP y pagos vs. ponen este estado en el cheque
			{
				var estado_texto = globals.TabDetalles_Texto('estado_cheque',estado)
				if (estado_texto == false) // si vuelve con false=fallo el find
				   return false;
				if (estado_texto != null) 
				{
					globals.DIALOGS.showWarningDialog('Aviso','El Cheque tiene estado ' + estado_texto ,'OK')
				}
				else
				{
					globals.DIALOGS.showWarningDialog('Aviso','Falta cargar descripcion del estado ' + estado +' en Tablas_detalle','OK')
		 		}
				iniciar();
				return false;
			}
		}
	}
	return true
}

/**
 * Perform the element default action.
 *
 * @param {JSEvent} event the event that triggered the action
 *
 * @properties={typeid:24,uuid:"DCAB262B-07D2-4A7E-AA29-2E0BF7157769"}
 */
function confirmar(event) 
{
	if (f_cheque_nro == null || cheque_id == null)
	{
		globals.DIALOGS.showWarningDialog('Aviso','Debe informar cheque','OK')
		return;
	}
	if (fFecha_rechazo == null)
	{
		globals.DIALOGS.showWarningDialog('Aviso','Debe informar la fecha de rechazo','OK')
		return;
	}	

	// GRABA MOVIM_CYB 
		/** @type {JSFoundSet<db:/infocom/movim_cyb>}*/
		var fs_movim_cyb = databaseManager.getFoundSet(databaseManager.getDataSourceServerName(controller.getDataSource()),'movim_cyb');
		fs_movim_cyb.newRecord();
		fs_movim_cyb.apertura_id		= null;
		fs_movim_cyb.cheque_id			= cheque_id;
		fs_movim_cyb.cod_movim			= globals.zconf_cyb_cod_movim_ingreso;
		fs_movim_cyb.concepto			= 'Chq.rechazado ' + cheque_nro + ' - ' + concepto;
		fs_movim_cyb.cuentas_cyb_id		= cuentas_cyb_id; 
		fs_movim_cyb.empresa_id			= null;
		fs_movim_cyb.fecha_movim		= fFecha_rechazo;
		fs_movim_cyb.importe			= importe;
		fs_movim_cyb.imputacion_id		= globals.zconf_cyb_imputacion_cheque_rechazado;
		fs_movim_cyb.moneda_id			= moneda_id; 
		fs_movim_cyb.fecha_conciliacion	= null;
		fs_movim_cyb.marca_conciliacion	= 0;
		fs_movim_cyb.referencia			= cheque_nro;
		fs_movim_cyb.valor_id			= valor_id;
		
		estado = globals.zconf_chq_rechazado_propio;  //  fue entregado en O.P. u O.P.vs.
		if(cheques_to_op_detalle.op_detalle_to_op_cabecera.codigo_movimiento==globals.zparam_codigo_opago_varios)
			var $msj = 'CHEQUE RECHAZADO - Recuerde cargar el PAGO VARIOS NEGATIVO de PROVEEDORES';
		else
			var $msj = 'CHEQUE RECHAZADO - Recuerde cargar la NOTA de CREDITO de PROVEEDORES';
		globals.DIALOGS.showWarningDialog('Aviso',$msj,'OK')		
	limpiar();
}

/**
 * Perform the element default action.
 *
 * @param {JSEvent} [event] the event that triggered the action
 *
 * @properties={typeid:24,uuid:"C3A6226E-788B-4A8F-A2D9-C2365919ECFF"}
 * @AllowToRunInFind
 */
function limpiar(event) 
{
	iniciar();
	controller.loadRecords(null)
}
